package com.yuexunit.finance.project.service;

import java.util.List;

import com.yuexunit.finance.project.entity.RecieveNoticeEntity;
import com.yuexunit.page.PageCriteria;
import com.yuexunit.page.PageList;

/**
 * @author zeng hui wu 2015年10月19日
 */
public interface RecieveNoticeService {

	/** 创建收货通知 */
	public Long createRecieveNotice(RecieveNoticeEntity recieveNoticeEntity);

	/** 修改收货通知 */
	public void updateRecieveNotice(RecieveNoticeEntity recieveNoticeEntity);

	/** 收货通知明细 */
	public RecieveNoticeEntity inquireRecieveNoticeDetail(Long recieveNoticeId);

	/** 收货通知列表 */
	public PageList<RecieveNoticeEntity> inquireRecieveNoticePageList(Long financeId, String financeNumber, Long logisticsCompanyId, Integer noticeState, String enterpriseName, String bulkstockName, Integer productType, PageCriteria page);
	
	/** 收货通知列表 */
	public List<RecieveNoticeEntity> inquireRecieveNoticeList(Long financeId);
	
	/** 收货通知列表-物流端 */
	public PageList<RecieveNoticeEntity> inquireRecieveNoticeLogisticsPageList(Long financeId, String financeNumber, Long logisticsCompanyId, Integer noticeState, PageCriteria page);

	/** 根据编号获取收货通知 */
	public RecieveNoticeEntity inquireNumberRecieveNotice(String recieveNoticeNumber);

	/** 获取所有换货提货的收货通知 */
	public List<RecieveNoticeEntity> inquireExchangeRecieveNotice(Long exchangePickupId);

	/** 获取所有补货的收货通知 */
	public List<RecieveNoticeEntity> inquireReplenishRecieveNotice(Long replenishCreditId);

}
